{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# RDKit pandas support\n",
    "This is a quick tutorial will show some of the ways you can use RDKit together with pandas."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "@TAGS: #basics #pandas"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from __future__ import print_function\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "from rdkit import Chem\n",
    "from rdkit.Chem import PandasTools\n",
    "from rdkit.Chem.Draw import IPythonConsole\n",
    "\n",
    "# The next line is commented out \n",
    "# because GitHub does not render svg's embedded in notebooks\n",
    "IPythonConsole.ipython_useSVG=False"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Load the table of drugs (downloaded from [ChEMBL](https://www.ebi.ac.uk/chembl/) )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "df = pd.read_csv('../data/chembl_drugs.txt.gz', sep='\\t')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['PARENT_MOLREGNO',\n",
       " 'CHEMBL_ID',\n",
       " 'SYNONYMS',\n",
       " 'DEVELOPMENT_PHASE',\n",
       " 'RESEARCH_CODES',\n",
       " 'APPLICANTS',\n",
       " 'USAN_STEM',\n",
       " 'USAN_STEM_DEFINITION',\n",
       " 'USAN_STEM_SUBSTEM',\n",
       " 'USAN_YEAR',\n",
       " 'FIRST_APPROVAL',\n",
       " 'ATC_CODE',\n",
       " 'ATC_CODE_DESCRIPTION',\n",
       " 'INDICATION_CLASS',\n",
       " 'SC_PATENT_NO',\n",
       " 'DRUG_TYPE',\n",
       " 'RULE_OF_FIVE',\n",
       " 'FIRST_IN_CLASS',\n",
       " 'CHIRALITY',\n",
       " 'PRODRUG',\n",
       " 'ORAL',\n",
       " 'PARENTERAL',\n",
       " 'TOPICAL',\n",
       " 'BLACK_BOX',\n",
       " 'AVAILABILITY_TYPE',\n",
       " 'WITHDRAWN_YEAR',\n",
       " 'WITHDRAWN_COUNTRY',\n",
       " 'WITHDRAWN_REASON',\n",
       " 'CANONICAL_SMILES']"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[str(x) for x in df.columns]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "11442"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Keep only compounds with SMILES,that respect Ro5 and are on the market"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df = df[df['CANONICAL_SMILES'].notnull() & # Keep cpds with SMILES\n",
    "        (df['RULE_OF_FIVE'] == 'Y') & # that respect Ro5\n",
    "        (df['DEVELOPMENT_PHASE'] == 4)] # are on the market"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1284"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Table contains CANONICAL_SMILES with SMILES which we can convert to RDKit molecules (default name ROMol)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "PandasTools.AddMoleculeColumnToFrame(df, smilesCol='CANONICAL_SMILES')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Remove rows where RDKit failed to generate a molecule from SMILES"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df = df[~df['ROMol'].isnull()]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Extract a name from SYNONYMS column by applying a row-wise operation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df['name'] = df.apply(lambda x: x['SYNONYMS'].split('(')[0] if type(x['SYNONYMS']) is str else None, axis=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Depict first 8 mols"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nRgZRp05EwcFEnTvzCAhjjDHG1MMJSD5u3bpF7u7ulJycTFu3bqW+ffsa3L5gwQL64IMPqFatWnT2\n7FlycHDId5vJycl048YNiouLo7t371JcXBxdu3ZN+v7u3bv06NEjysjIyHdblpaW1KBBA9q3bx9V\nq1at0I+TlT7Zk4dz54gGDyY6epSofHlOQBhjjDGmDk5ATPDTTz/R559/TvXr16fTp0+Tvb29dJtO\np6OXXnqJtFot/f333+Tq6ppjlCL7yEVcXJxJyYWdnR25urqSi4sL1axZk6pXr06urq7SdY6OjvTO\nO+/QsWPHqH79+rR//36ei8IkxpKHOXOITpwgCg0teAKydi3RtGlE168L63XOmkXUtavZwmeMMcZY\nKcUJiAm0Wi21bduWTp06RV9//TV99913RER07tw5mjdvHl25coXi4+MpLi6O7t27Z9I2nZycqEaN\nGuTm5kYuLi7k6upKNWrUkJINFxcXcnZ2znc7iYmJ9PLLL9OxY8ekkRBOQhiR8cQCIHr1VaKdO4Xv\nT58matnStATkzTeJpk4lql+faPlyYU7JnTvmfQyMMcYYK304ATHR0aNHqVOnTmRlZUX//fcf7dmz\nh1avXk3//vuvwf3KlSsnJRV169al6tWrk4uLi/S1bt265OTkJGts2ZOQ/fv3k4uLi6z7YKVTy5ZE\nMTFER44QtWtn+u9dvSoscnj5svliY4wxxljpxAlIAYwcOZKWLVtGb7zxBkVERFBiYiKNGjWK+vbt\nK41cVK1alaysrBSP7cmTJ/Tyyy/T8ePHqWHDhrRv3z5OQlierl4VRjOcnYnu3yeytDTt9+7dI/L2\nJvrmG6J+/cwbI2OMMcZKH+WPlEuwn3/+mapXr04nTpygxMRE8vHxocWLF6sdFhEROTo60q5du6h3\n794UFRVFPXv2pH379nF3LJarbduEry+/bHrycewY0VtvEX3/PScfjDHGGCscXgekACpVqkStW7em\nnTt3kpOTE82ZM0ftkAw4OjrS7t27ycPDgy5evEg9evSguLg4tcNixdTWrcJXUxOJP/4g6t+faOFC\norffNl9cLCetVkvJyclqh8EYY4zJgkuwCiAhIYHc3d3p3r17tHDhQnr//ffVDsmohIQE6t27N0VH\nR1Pjxo25RS/LISmJqHJlIp1OKL+qWDH/3zG2MGFSElHZsvLH96JLSEigiIgIOnjwIB06dIhOnTpF\n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\n",
      "text/plain": [
       "<PIL.Image.Image image mode=RGBA size=800x400 at 0x7F4E2B192EF0>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "PandasTools.FrameToGridImage(df.head(8), legendsCol='name', molsPerRow=4)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Calculate some descriptors and visualize distributions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from rdkit.Chem import Descriptors"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "df['MW'] = df['ROMol'].map(Descriptors.MolWt)\n",
    "df['logP'] = df['ROMol'].map(Descriptors.MolLogP)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nYMEkAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4e2b2489e8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#doctest: IGNORE\n",
    "df['MW'].hist();"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4e2bcb8c88>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#doctest: IGNORE\n",
    "df['logP'].hist();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Do a subsructure search on a dataframe"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "query = Chem.MolFromSmarts('Nc1ccc(S(=O)(=O)-[*])cc1')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<PIL.Image.Image image mode=RGBA size=300x300 at 0x7F4E2BFED128>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#doctest: IGNORE\n",
    "Chem.Draw.MolToImage(query, kekulize=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "35"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(df[df['ROMol'] >= query])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "RDKit by defaults highlights the matched substructures"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SYNONYMS</th>\n",
       "      <th>ROMol</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>Sulfadimethoxine (BAN, INN, JAN, MI, NF, USP); Sulfadimethoxine Sodium (USP)</td>\n",
       "      <td><img src=\"\" alt=\"Mol\"/></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>Bendrofluazide (BAN); Bendroflumethiazide (FDA, INN, JAN, USP)</td>\n",
       "      <td><img src=\"\" alt=\"Mol\"/></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>Hydrochlorothiazide (BAN, FDA, INN, JAN, USP)</td>\n",
       "      <td><img src=\"\" alt=\"Mol\"/></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>155</th>\n",
       "      <td>Sulfapyridine (BAN, FDA, INN, USP); Sulfapyridine Sodium (MI, NF)</td>\n",
       "      <td><img src=\"\" alt=\"Mol\"/></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>266</th>\n",
       "      <td>Sulfaphenazole (BAN, FDA, INN, JAN, MI)</td>\n",
       "      <td><img src=\"\" alt=\"Mol\"/></td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "                                                                         SYNONYMS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ROMol\n",
       "45   Sulfadimethoxine (BAN, INN, JAN, MI, NF, USP); Sulfadimethoxine Sodium (USP)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  <img src=\"\" alt=\"Mol\"/>\n",
       "48                 Bendrofluazide (BAN); Bendroflumethiazide (FDA, INN, JAN, USP)                                                                                                                          <img src=\"\" alt=\"Mol\"/>\n",
       "51                                  Hydrochlorothiazide (BAN, FDA, INN, JAN, USP)  <img src=\"\" alt=\"Mol\"/>\n",
       "155             Sulfapyridine (BAN, FDA, INN, USP); Sulfapyridine Sodium (MI, NF)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              <img src=\"\" alt=\"Mol\"/>\n",
       "266                                       Sulfaphenazole (BAN, FDA, INN, JAN, MI)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      <img src=\"\" alt=\"Mol\"/>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df['ROMol'] >= query][['SYNONYMS', 'ROMol']].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Save the table as SD file"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "PandasTools.WriteSDF(df, '../data/approved_drugs.sdf', idName='CHEMBL_ID', properties=df.columns)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Tutorial author: Samo Turk, Jan. 2017"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "hide_input": false,
  "kernelspec": {
   "display_name": "Python [default]",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
